package top.yehot.kettle.boot.service;

import java.util.List;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;

import top.yehot.kettle.boot.models.entity.Repository;
import top.yehot.kettle.boot.models.vo.repository.DatabaseInfoVO;
import top.yehot.kettle.boot.models.vo.repository.RepoAddVO;
import top.yehot.kettle.boot.models.vo.repository.RepoEditVO;
import top.yehot.kettle.boot.models.vo.repository.RepoSearchVO;

/**
 * 资源库 服务类
 * 
 * @author lquan
 * @date 2022年5月28日 下午6:52:07
 */
public interface RepositoryService extends IService<Repository> {

	/**
	 * 分页查询资源库列表
	 */
	public IPage<Repository> list(RepoSearchVO param);
	
	/**
	 * 测试资源库链接
	 */
	public void testConnection(String id, RepoAddVO param);
	
	/**
	 * 资源库新增
	 */
	public void add(RepoAddVO param);
	
	/**
	 * 根据ID查询资源库
	 */
	public RepoEditVO getCusById(String id);
	
	/**
	 * 资源库编辑
	 */
	public void update(RepoEditVO param);
	
	/**
	 * 批量删除资源库
	 */
	public void deleteBatch(List<String> ids);
	
	/**
	 * 根据资源库id获取资源库下数据库连接
	 */
	public List<DatabaseInfoVO> getDatabasesByRepId(String repId);
	
	/**
	 * 共享数据库
	 */
	public void sharedDb(String repId, String name);
	
	/**
	 * 取消共享数据库
	 */
	public void closeSharedDb(String name);
	
}
